package com.jettech.oa.service;

import java.util.List;

import com.jettech.oa.domain.Document;
import com.jettech.oa.dto.WorkFlowCondition;
import com.jettech.oa.utils.PageUtil;

public interface DocumentService {
	/**
	 * 保存公文
	 * @param document
	 */
	public void saveDocument(Document document);
	/**
	 * 更新公文
	 * @param document
	 */
	public void updateDocument(Document document);
	/**
	 * 删除公文
	 * @param id
	 */
	public void deleteDocument(Long id);
	/**
	 * 
	 * @param condition
	 * @param pageUtil
	 * @return
	 */
	public List<Document> findDocumentsByWorkFlowCondition(WorkFlowCondition condition,PageUtil pageUtil);
	/**
	 * 提交公文
	 * @param documentId
	 * @param userId
	 * @param loginName
	 * @param comment
	 * @param transitionName
	 */
	public void sumbmitDocument(Long documentId,Long userId,String loginName,String comment,String transitionName);
	/**
	 * 查询用户的待审公文列表
	 * @param loginName
	 * @return
	 */
	public List<Document> findUserWaitingAuditDocumentList(String loginName);
	/**
	 * 获得公文下一步可执行的transitionName列表
	 * @param documentId
	 * @param loginName
	 * @return
	 */
	public List<String> findDocumentNextTransitionName(Long documentId,String loginName);
}
